a,b=list(map(int,input().split()))
l=list(map(int,input().split()))
dic={}
for i in range(1,a):
dic[i]=i+l[i-1]
a=1
while True:
if a not in dic:
print('NO')
break
else:
a=dic[a]
if a==b:
print('YES')
break
#include <iostream>
#include <bits/stdc++.h>
typedef long long ll;
typedef long double ld;
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
ll n,t;
cin>>n>>t;
ll a[n+5]={0};
for(int i=1 ; i<n ; i++)
cin>>a[i];
ll pos=1;
bool f=0;
while(1)
{
if(pos==t)
{
f=1;
break;
}
pos=pos+a[pos];
if(pos>t)
break;
}
if(f)
cout<<"YES";
else
cout<<"NO";
return 0;
}
1598B - Groups | 1602B - Divine Array |
1594B - Special Numbers | 1614A - Divan and a Store |
2085. Count Common Words With One Occurrence | 2089. Find Target Indices After Sorting Array |
2090. K Radius Subarray Averages | 2091. Removing Minimum and Maximum From Array |
6. Zigzag Conversion | 1612B - Special Permutation |
1481. Least Number of Unique Integers after K Removals | 1035. Uncrossed Lines |
328. Odd Even Linked List | 1219. Path with Maximum Gold |
1268. Search Suggestions System | 841. Keys and Rooms |
152. Maximum Product Subarray | 337. House Robber III |
869. Reordered Power of 2 | 1593C - Save More Mice |
1217. Minimum Cost to Move Chips to The Same Position | 347. Top K Frequent Elements |
1503. Last Moment Before All Ants Fall Out of a Plank | 430. Flatten a Multilevel Doubly Linked List |
1290. Convert Binary Number in a Linked List to Integer | 1525. Number of Good Ways to Split a String |
72. Edit Distance | 563. Binary Tree Tilt |
1306. Jump Game III | 236. Lowest Common Ancestor of a Binary Tree |